package com.tencent.wxcloudrun.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tencent.wxcloudrun.domain.TStoreProd;
import com.tencent.wxcloudrun.vo.request.store.StoreProdAddReqVo;
import com.tencent.wxcloudrun.vo.request.store.StoreProdListReqVo;
import com.tencent.wxcloudrun.vo.request.store.StoreProdUpdateReqVo;

/**
 * @author ziyin.zhao
 * @description 针对表【t_store_prod(商家商品表)】的数据库操作Service
 * @createDate 2025-04-22 16:43:56
 */
public interface TStoreProdService extends IService<TStoreProd> {

    /**
     * 新增商品
     *
     * @param reqVo 请求入参
     * @return 商品序号
     */
    Long addProd(StoreProdAddReqVo reqVo);

    /**
     * 更新商品
     *
     * @param reqVo 请求入参
     */
    void updateProd(StoreProdUpdateReqVo reqVo);

    /**
     * 上架商品
     *
     * @param userId 用户序号
     * @param prodId 商品序号
     */
    void putOnProd(Long userId, Long prodId);

    /**
     * 下架商品
     *
     * @param userId 用户序号
     * @param prodId 商品序号
     */
    void takeOffProd(Long userId, Long prodId);

    /**
     * 删除商品
     *
     * @param userId 用户序号
     * @param prodId 商品序号
     */
    void deleteProd(Long userId, Long prodId);

    /**
     * 查询商品列表
     *
     * @param reqVo 请求入参
     * @return 商品列表
     */
    List<TStoreProd> listProd(StoreProdListReqVo reqVo);

}
